The table on the right shows the complete assignment compatibilities for class types and class-wide types.

T and E are type classes.

The colors show the different assignment compatibilities:

definite the assignment is always possible
potential the assignment can be possible, depending on the actual type of the expression
incompatible the assignment is never possible

expression type
target type E E'CLASS
T T equal E  
  E ancestor of T or equal
T not equal E T ancestor of E or not related
T'CLASS T ancestor of E or equal T ancestor of E or equal
  E ancestor of T
E ancestor of T or not related E and T not related